The present invention relates generally to a method and apparatus for simulating memory persistence in a computer system, and more particularly, to such a method and apparatus wherein the memory persistence appears to a hand-held platform operating system and applications executing on a computer system, such as a personal computer system which is not a hand-held platform, as though the operating system and applications were executing on a hand-held platform.
Embedded operating systems, for example the Windows CE operating system produced by the Microsoft Corporation, are designed for implementation and use in hand-held or palm-top computers and typically require persistent memory. The terms xe2x80x9chand-heldxe2x80x9d or xe2x80x9cpalm-topxe2x80x9d are used in a descriptive manner herein and are not intended to be restrictive. Persistent memory, i.e., nonvolatile memory, is memory in which the memory contents are not lost when main or external power is removed and is normally implemented with special low-power random access memory (RAM) devices combined with batteries for maintaining the RAM contents for protracted time periods whether or not external power is available. Executable or application software and operating system software, once installed on the hand-held platform are retained in either read only memory (ROM) or persistent memory and are not reinstalled after each powering off of the hand-held platform. In fact, such hand-held platforms or devices do not have a power off mode, i.e., the devices are not turned off or shutdown, instead the devices have a very-low power mode in which the device appears to be in a powered off state.
It is advantageous to be able to use a hand-held platform operating system and additional software on a computer system which is not a hand-held platform because the range of functionality offered to users is broadened. A standard hardware platform, e.g., non-hand-held platform computer system, is able to be used in configurations requiring only a hand-held platform, a stand-alone computer system, a networked workstation computer system, and a server computer system. Using a standard hardware platform for each of these configurations would reduce the overall cost of hardware and/or system purchases and increase the flexibility of hardware platform computer system configurations. For instance, the same standard hardware platform could be used at a tool rental check-out area or employment application kiosks requiring only hand-held platform functionality, at a checkout station requiring networked computer system functionality, or at an inventory and sales database location requiring server computer system functionality. The only required changes would be the operating system and application software.
For the range of computer systems encompassing the server through the networked workstation to the stand-alone computer system, the essential differences are in terms of processing speed and amount of memory. Typical servers require large amounts of memory, both random access memory and storage space or hard drive space, while networked workstations and stand-alone computer systems require less memory. Processing speed requirements vary based on the use of the computer system. Thus, a change of software (operating system and/or applications) on the computer system can change the functionality of the computer system from a stand-alone computer system to a networked workstation or to a server system.
The hand-held platform has an additional difference separating it from the aforementioned range of computer systems. As described above, the hand-held platform uses persistent memory for storage of software and information. Being able to remove or ameliorate this difference, allows for a broader range of use for the standard hardware platform. Thus, the standard hardware platform can be used for the entire range from hand-held platform to stand-alone computer system to networked workstation to server computer system solely by changing the installed and executing software. Further, using standard hardware platforms increases the ability and ease of obtaining, maintaining, and storing replacement hardware components. Therefore, there is a need in the art to provide a method and apparatus for simulating memory persistence in a computer system.
Use of hand-held platform software executing on existing computer systems such as either PC platforms, e.g. Intel-based personal computers or on existing terminals, e.g., requires an adaptation, either hardware or software-based, allowing the computer system to appear to have persistent memory for use by the hand-held platform operating system and/or application software. Therefore, there is a need in the art to provide a mechanism for a computer system to simulate persistent memory to hand-held platform software on the computer system.
A xe2x80x9chand-held platformxe2x80x9d computer system as used herein is meant to indicate hand-held platform operating system and applications software installed and executing on computer system which is not a hand-held platform with persistent memory.
In order to further minimize the cost of configuring a particular computer system to act as a xe2x80x9chand-held platformxe2x80x9d computer system it is desirable to eliminate the need for an additional operating system installation on the computer system, e.g., not requiring installation of Windows NT or Windows 2000 to support the hand-held platform software. However, accesses, i.e., reads and writes, of the computer system storage device and main memory need to be supported in order to provide persistent memory functionality to the hand-held platform software. In particular, hand-held platform software and information needs to be transferred from main memory of the computer system to the computer system""s storage device in order to support simulation of persistent memory. Therefore, there is a need in the art to directly read and write from a computer system""s storage device and main memory in place of using an operating system. To support simulating persistent memory to the xe2x80x9chand-held platformxe2x80x9d computer system, it is necessary to convert a binary memory image on a computer system""s storage device or main memory into a load file format loadable by the hand-held platform operating on the computer system.
Accordingly, an object of the present invention is to enable a computer system to simulate persistent memory to hand-held platform software on a computer system.
The present invention relates generally to a method and apparatus for simulating memory persistence in computer systems, and more particularly, to such a method and apparatus wherein the memory persistence appears to hand-held platform software on a computer system as though the software were on a hand-held platform.
In a method aspect of the present invention, a computer system having volatile memory, and a storage device with a load format image file is described. The load format image file includes hand-held platform software and information. The load format image file is loaded from the storage device into the volatile memory. The contents of the volatile memory is copied onto a memory image disk file and the memory image disk file is converted into a load format image file. The load format image file is then stored on a storage device.
A computer implemented system aspect of the present invention includes a processor, a volatile memory, and a storage device having sequences of instruction stored therein. The sequences of instructions, when executed by the processor, cause the processor to load a load format image file from the storage device into volatile memory. The contents of volatile memory is then copied onto a memory image disk file and the memory image disk file is converted into a load format image file. The load format image file is stored on the storage device.